#ifndef LYRICSWINDOW_H
#define LYRICSWINDOW_H

#include <QWidget>
#include<QPropertyAnimation>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QDebug>
#include<QMessageBox>
#include <QJsonDocument>
#include <QJsonObject>
#include<QJsonArray>
#include<QTimer>
#include<QListWidgetItem>
namespace Ui
{
class LyricsWindow;
}
//存储每行歌词和时间
struct LyricLine
{
    int time; // 时间，单位为毫秒
    QString text; // 歌词内容
};

class LyricsWindow : public QWidget
{
    Q_OBJECT

public:
    explicit LyricsWindow(QWidget *parent = nullptr);
    ~LyricsWindow();
    void parseJson_lyrics(QByteArray byteArray);
    void set_songId(unsigned int songId);
    void set_position(qint64 position);
    void closed();
signals:
    void close();
public slots:
     void positionChanged(qint64 position);
private slots:
    void replyFinished(QNetworkReply *reply);
private:
    Ui::LyricsWindow *ui;
    QNetworkAccessManager *lyric_manager;//歌词信息请求管理
    QString lyric;//当前歌曲歌词
    unsigned int songId;//当前歌曲ID
    QMap<int, QString> lrcMap;   // 存储歌词及其对应的时间帧
};

#endif // LYRICSWINDOW_H
